// 管理员的模型
const sequelize = require('./db');
const { DataTypes } = require('sequelize');
//创建一个模型对象
const Admin = sequelize.define(
  'Admin',
  // 会自动创建 主键的列 不用管
  {
    loginId: {
      type: DataTypes.STRING,
      allowNull: false, // 不能为空
    },
    loginPwd: {
      type: DataTypes.STRING,
      allowNull: false,
    },
  },
  {
    // freezeTableName: true, //  传 Admin 就是 Admin 否则自动加上 s Admins
    // tableName: 'admin', // 自定义表名
    createdAt: false, // 不需要 自动 创建时间字段
    updatedAt: false, // 不需要 自动 创建 更新时间字段
    // 数据库了 通常是不允许删数据了 不然数据很难找回来通常是 给他标记下 数据是否删除
    paranoid: true, //从此以后，该表的数据不会真正的删除，而是增加一列deletedAt，记录删除的时间
  }
);

// User.sync() - 如果表不存在,则创建该表(如果已经存在,则不执行任何操作)  自动去创建表
// User.sync({ force: true }) - 将创建表,如果表已经存在,则将其首先删除
// User.sync({ alter: true }) - 这将检查数据库中表的当前状态(它具有哪些列,它们的数据类型等),然后在表中进行必要的更改以使其与模型匹配.

module.exports = Admin;
